;; Kawa dictionary for SchemeScript

(dictionary-entry 'module-name "(module-name symbol)" 'syntax 1)
(dictionary-entry 'module-static "(module-static [boolean|'init-run])" 'syntax)
(dictionary-entry 'module-export "(module-exports symbol ...)" 'syntax)
(dictionary-entry 'module-extends "(module-extends <class>)" 'syntax)
(dictionary-entry 'module-implements "(module-implements <interface> ...)" 'syntax)
(dictionary-entry 'require "(require modulespec)" 'syntax 1)
(dictionary-entry 'define-private "(define-private name [:: <type>] value)" 'syntax)
(dictionary-entry 'define-constant "(define-constant name [:: <type>] value)" 'syntax)
(dictionary-entry 'define-namespace "(define-namespace name namespace-uri)" 'syntax 1)
(dictionary-entry 'define-alias "(define-alias name type)" 'syntax 1)
(dictionary-entry 'define-simple-class "(define-simple-class name (type ...) fields/methods ...)" 'syntax 1)
(dictionary-entry 'define-class "(define-class name (type ...) fields/methods ...)" 'syntax)
(dictionary-entry 'object "(object (type ...) fields/methods...)" 'syntax 1)
(dictionary-entry 'make "(make type args ...)" 'function 1)
(dictionary-entry 'instance? "(instance? value type)" 'function)
(dictionary-entry 'invoke "(invoke object name args ...)" 'function 1)
(dictionary-entry 'invoke-static "(invoke-static class name args ...)" 'function 1)
(dictionary-entry 'field "(field object field-name)" 'function 1)
(dictionary-entry 'static-field "(static-field class field-name)" 'function 1)
(dictionary-entry 'slot-ref "(slot-ref object field-name)" 'function 1)
(dictionary-entry 'slot-set! "(slot-set! object field-name value)" 'function 1)
(dictionary-entry 'try-catch "(try-catch body handler ...)" 'syntax 1)
(dictionary-entry 'try-finally "(try-finally body handler)" 'syntax 1)
(dictionary-entry 'primitive-throw "(primitive-throw exception)" 'function)
(dictionary-entry 'catch "(catch key thunk handler)" 'syntax 1)
(dictionary-entry 'throw "(throw key args ...)" 'function 1)
(dictionary-entry 'error "(error message args ...)" 'syntax 1)
(dictionary-entry 'when "(when condition form ...)" 'syntax)
(dictionary-entry 'unless "(unless condition form ...)" 'syntax)
(dictionary-entry 'define-record-type "(define-record-type name cstor pred? fields ...)" 'syntax 1)
(dictionary-entry 'defmacro "(defmacro name body ...)" 'syntax)
(dictionary-entry 'cond-expand "(cond-expand [clause...] [(else command-or-definition...)])" 'syntax)
(dictionary-entry 'gentemp "(gentemp)" 'function)
(dictionary-entry 'values-append "(values-append arg ...)" 'function)
(dictionary-entry 'receive "(receive formals expression body)" 'syntax)
(dictionary-entry 'keyword? "(keyword? expr)" 'function)
(dictionary-entry 'keyword->string "(keyword->string keyword)" 'function)
(dictionary-entry 'string->keyword "(string->keyword string)" 'function)
(dictionary-entry 'cut "(cut slot-or-expr slot-or-expr* [<...>])" 'syntax)
(dictionary-entry 'cute "(cute slot-or-expr slot-or-expr* [<...>])" 'syntax)
